IF exists(SELECT * FROM dbo.sysobjects WHERE name='freken_rubriekSubtotaalGemiddeldeKlas' AND xtype='P') 
BEGIN
	DROP PROCEDURE freken_rubriekSubtotaalGemiddeldeKlas
END
GO

CREATE   PROCEDURE freken_rubriekSubtotaalGemiddeldeKlas(
  @aard char(1),
  @periode char(2),
  @groepsnaam varchar(20),
  @inschrijvingsNr char(7))
as
set nocount on
declare @lln table(inschrijvingsNr char(7))

insert into @lln
select inschrijvingsNr from leerlingen..leerlingen 
  where klas in 
    (select klas from leerlingen..leerlingen where inschrijvingsNr=@inschrijvingsNr)

insert into fr_CollectieveCijfers(aard,periode,vak,inschrijvingsNr,code,cijfer) 
select @aard,@periode,fir.vak,@inschrijvingsNr,fir.code, 
	isnull(convert(varchar(20),round(sum(cijfer)*100/sum(maximum),0)),'')
from fr_collectieveRekenwijze as fcr
  left join fr_individueleRekenwijzeUitgewerkt as fir
    on fcr.aard=fir.aard 
	and fcr.periode=fir.periode 
		  and fcr.groepsnaam=fir.groepsnaam 
		    and fcr.code=fir.code
			and fcr.vak=fir.vak
  left join (select cij.* from @lln as l
	left join fr_cijfersDetail as cij 
	  on l.inschrijvingsNr = cij.inschrijvingsNr 
		where periode=@periode
		  and cijfer >= 0 
		    and maximum > 0) as c
    on fir.vak = c.vak
      and c.code like fir.parameter
where fir.aard = @aard
	and fir.periode = @periode
	  and fir.rekenwijze = 'rubrieksubtotaal' 
   	    and fir.groepsnaam = @groepsnaam
		and fcr.rekenwijze='rubriekSubtotaalGemiddeldeKlas'
group by fir.vak,fir.code